package cn.wolfcode.service;

import cn.wolfcode.domain.SeckillProduct;
import cn.wolfcode.domain.SeckillProductVo;
import cn.wolfcode.mq.OrderMQResult;

import java.util.List;


public interface ISeckillProductService {
    /**
     * 查询指定时间段的秒杀商品 (从 mysql 中)
     * @param time
     * @return
     */
    List<SeckillProductVo> selectByTime(int time);

    /**
     * 查询指定时间段的秒杀商品 (从 redis 中)
     * @param time
     * @return
     */
    List<SeckillProductVo> queryByTime(int time);

    /**
     * 查询指定时间段指定id的秒杀商品 (从 redis 中)
     * @param time
     * @param seckillId
     * @return
     */
    SeckillProductVo find(int time, Long seckillId);

    /**
     * 回补redis中的预库存, 同时恢复所有秒杀服务Controller的本地标识设为false
     * @return
     */
    void replenishRedisStock(OrderMQResult orderMQResult);
}
